wx.cloud.init()
const db = wx.cloud.database();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: '', //用户的唯一随机数
    info: {
      education: '学历:保密',
      family: '家庭:保密'
    }, //用户的详细信息对象
    hongniang: {}, //红娘的信息
    tuijian: [], //该红娘下的其他推荐数据
    //以下是搜索开始
    sex: ['女', '男'],
    sex_ind: 0,
    marriage: ['未婚', '离异', '丧偶', '全部'],
    marriage_ind: 0,
    search_age: false, //是否显示搜索时年龄弹出框
    search_age_text: true, //如果为true则显示年龄2个字 否则显示 用户选择的最小年龄和最大
    search_age_min: '', //最小年龄范围
    search_age_max: '', //最大的年龄范围
    bodyheight: ['身高', '150CM', '155CM', '158CM', '160CM', '162CM', '163CM', '164CM', '165CM', '168CM', '170CM', '172CM', '173CM', '175CM', '180CM', '182CM', '185CM', '187CM', '188CM', '190CM', '195CM'],
    bodyheightValue: [0, 150, 155, 158, 160, 162, 163, 164, 165, 168, 170, 172, 173, 175, 180, 182, 185, 187, 188, 190, 195],
    bodyheight_ind: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    console.log('sss', options.id)
    if (typeof(options.id) == "undefined") {
      //this.getData(1)
      //this.data.id = 1
    } else {
      this.getData(options.id)
      this.data.id = options.id
    }
  },
  getData: function(id) {
    /**获取用户信息,这里接收一个id全局唯一参数,注意这里不是_id */
    console.log('随机数为:', id)
    wx.showLoading({
      title: '正在加载',
    })
    db.collection('user').where({
        id: parseInt(id), //注意不是_id
        status: true
      }).get()
      .then(res => {
        console.log('getdata:', res)
        if (res.data.length == 0) {
          wx.hideLoading()
          wx.showModal({
            title: '抱歉该用户信息已下线',
            content: '请查看其他信息',
          })
        } else {
          this.setData({
            info: res.data[0],
            sex_ind: res.data[0].sex_ind//把要搜索的默认男或女保存好,如果是男则默认显示搜索男,
          }, res2 => {
            wx.hideLoading()
            this.getfabu(res.data[0]._openid) //获取发布者信息
            this.jishuqi(res.data[0]._id); //更新浏览量            
          })
        }


      })
  },
  url: function(e) {
    console.log(e.currentTarget.dataset.id)
    wx.navigateTo({
      url: '../userShow/userShow?id=' + e.currentTarget.dataset.id,
    })
  },
  getfabu: function(openid) {
    // 获取发布者的信息,接受一个openid
    db.collection('admin').where({
        _openid: openid
      }).get()
      .then(res => {
        console.log('发布者信息:', res)
        this.setData({
          hongniang: res.data[0]
        })
        this.getTuiJian(res.data[0]._openid) //获取推荐,传递一个红娘的openid
      })
  },
  getTuiJian: function(openid) {
    /**获取更多信息接收一个红娘的openid */
    const _ = db.command
    db.collection('user').where({
        _openid: openid, //红娘的
        status: true, //状态为正常的
        id: _.neq(this.data.info.id), //过滤本用户
        sex: this.data.info.sex
      })
      .orderBy('access', 'desc') //浏览量多的靠前
      .field({
        id: true,
        name: true,
        age: true,
        bodyheight: true,
        image: true,
        marriage: true
      })
      .get().then(res => {
        console.log('推荐:', res)
        this.setData({
          tuijian: res.data
        })
      })

  },
  jishuqi: function(id) {
    /**计数器,调用即可不需要返回值 */
    wx.cloud.callFunction({
      name: 'jishuqi',
      data: {
        id: id
      }
    })
  },
  phone: function(e) {
    /**拨打红娘电话 */
    wx.makePhoneCall({
      phoneNumber: e.currentTarget.dataset.phone
    })
  },
  formPwd: function(e) {
    var imagepwd = e.detail.value.imagepwd; //查看图片密码
    if (typeof(imagepwd) == "undefined" || imagepwd == 0) {
      wx.showToast({
        title: '密码不能为空',
        icon: 'none'
      })
      return;
    }

    db.collection('user').where({
        suiji: this.data.suiji,
        imageispwd: true,
        imagepwd: imagepwd
      }).get()
      .then(res => {
        console.log(res)
        if (res.data.length == 0) {
          wx.showToast({
            title: '密码错误',
            icon: 'none'
          })
        } else {
          let imageispwd = 'info.imageispwd'
          this.setData({
            [imageispwd]: false
          })
        }
      })

  },
  sex: function(e) {
    /**选择了性别 */
    console.log(e.detail.value)
    this.setData({
      sex_ind: e.detail.value
    })
  },
  marriage: function(e) {
    /**选择了婚姻状态 */
    console.log(e.detail.value)
    this.setData({
      marriage_ind: e.detail.value
    })
  },
  age: function() {
    /**搜索时选择年龄范围 */
    this.setData({
      search_age: !this.data.search_age
    })
  },
  bodyheight: function(e) {
    /**选择了身高 */
    console.log(e.detail.value)
    this.setData({
      bodyheight_ind: e.detail.value
    })
  },
  searchSubmit: function(e) {
    /**搜索时候选择了年龄的提交处理 */
    console.log(e)
    var minage = e.detail.value.minage; //最小范围
    var maxage = e.detail.value.maxage; //最小范围
    if (typeof(minage) == "undefined" || minage == 0) {
      wx.showToast({
        title: '请输入最小年龄',
        icon: 'none'
      })
      return;
    }

    var  regPos = /^\d+(\.\d+)?$/;  //非负浮点数        
    var  regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;  //负浮点数        
    if (regPos.test(minage) || regNeg.test(minage)) {        } 
    else {        
      wx.showToast({
        title: '最小年龄必须为数字',
        icon: 'none'
      })
      return;　
    }

    if (minage < 18 || minage > 60) {
      wx.showToast({
        title: '最小年龄在18~60岁之间',
        icon: 'none'
      })
      return;
    }


    if (typeof(maxage) == "undefined" || maxage == 0) {
      wx.showToast({
        title: '请输入最大年龄',
        icon: 'none'
      })
      return;
    }

    if (regPos.test(maxage) || regNeg.test(maxage)) {} 
    else {
      wx.showToast({
        title: '最大年龄必须为数字',
        icon: 'none'
      })
      return;
    }

    if (maxage < 18 || maxage > 60) {
      wx.showToast({
        title: '最大年龄在18~60岁之间',
        icon: 'none'
      })
      return;
    }


    if (minage > maxage) {
      wx.showToast({
        title: '最小年龄不能大于最大年龄',
        icon: 'none'
      })
      return;
    }

    this.setData({
      search_age_min: minage,
      search_age_max: maxage,
      search_age_text: false, //设置不显示年龄
      search_age: false //关闭弹窗
    })
  },
  search: function() {
    /**准备搜索开始, */
    let sex_ind = this.data.sex_ind //性别
    let marriage_ind = this.data.marriage_ind //婚姻
    let age = this.data.search_age_text //是否过滤年龄
    let minage = this.data.search_age_min //最小年龄
    let maxage = this.data.search_age_min //最大年龄
    let bodyheight_ind = this.data.bodyheight_ind //身高
    wx.navigateTo({
      url: '../search/search?sex_ind=' + sex_ind + '&marriage_ind=' + marriage_ind + '&age=' + age + '&minage=' + minage + '&maxage=' + maxage + '&bodyheight_ind=' + bodyheight_ind,
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {
    var shareObj = {
      title: this.data.info.name + ' 的详细资料--红娘助手', // 默认是小程序的名称(可以写slogan等)
      path: '/pages/userShow/userShow?id=' + this.data.info.id, // 默认是当前页面，必须是以‘/’开头的完整路径 id为为全局编码
      //imageUrl: e.target.dataset.img //自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径，支持PNG及JPG，不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
    }
    return shareObj

  }
})